﻿// <copyright file="ContainerType.cs" company="Sinclair Community College">
// Copyright 2010 Sinclair Community College
// </copyright>
// <originalAuthor>Patrick S. Seymour (patrick.seymour@gmail.com)</originalAuthor>

namespace SinclairCC.AppV
{
    /// <summary>
    /// Indicates the type of a container.
    /// </summary>
    public enum ContainerType : uint
    {
        /// <summary>
        /// Points to a package file data structure.
        /// </summary>
        PACKAGE_FILE = 0x00000001,
        
        /// <summary>
        /// Points to a package directory data structure.
        /// </summary>
        PACKAGE_DIRECTORY = 0x00000002,
        
        /// <summary>
        /// Points to a runtime generated file data structure.
        /// </summary>
        RUN_FILE = 0x00000003,
        
        /// <summary>
        /// Points to a runtime generated directory data structure.
        /// </summary>
        RUN_DIRECTORY = 0x00000004,
        
        /// <summary>
        /// Points to a file/directory which has been marked as deleted.
        /// </summary>
        PACKAGE_DELETED = 0x00000005,
        
        /// <summary>
        /// Points to the security descriptor table.
        /// </summary>
        SECURITY_DESCRIPTOR = 0x00000007,
        
        /// <summary>
        /// Empty container.
        /// </summary>
        CONTAINER_EMPTY = 0x00000008,
        
        /// <summary>
        /// Points to the volume information data structure.
        /// </summary>
        VOLUME_CONTAINER_P = 0x00000009,
        
        /// <summary>
        /// Duplicate copy of VOLUME_CONTAINER_P.
        /// </summary>
        VOLUME_CONTAINER_S = 0x0000000A,
        
        /// <summary>
        /// Reserved for future use (Unused).
        /// </summary>
        CONTAINER_RESERVED = 0x0000000B, 
        
        /// <summary>
        /// Points to a package information block.
        /// </summary>
        CONTAINER_PACKAGE = 0x0000000C,
        
        /// <summary>
        /// Points to a symbolic link.
        /// </summary>
        LINK_DATA = 0x0000000D,
        
        /// <summary>
        /// Points to the container allocation map structure.
        /// </summary>
        CONTAINER_ALLOCATION_MAP = 0x0000000E,
        
        /// <summary>
        /// Points to the storage allocation map structure.
        /// </summary>
        STORE_ALLOCATION_MAP = 0x0000000F,

        /// <summary>
        /// This value is unused.
        /// </summary>
        TRANSACTION_LOG = 0x00000010
    }
}
